//
//  UINavigationController+HHUIKit.h
//  ZHUIKit
//
//  Created by admin on 2018/7/20.
//  导航控制器的扩展

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UINavigationController (HHUIKit)

/// 跟随子VC使用ModalPresentationStyle
@property (nonatomic, assign) BOOL  hh_childModalPresentationStyle;
//MARK: - 初始化

///  根据root page name 初始化 UINavigationController
/// @param clsRootPage clsRootPage root page class name
+(instancetype)bc_initWithRootPage:(NSString *)clsRootPage;


//MARK: - 移除viewcontroller
/// 移除view controller
/// @param viewController viewController description
/// @param animated animated description
- (void)bc_removeViewController:(UIViewController *)viewController animated:(BOOL)animated;
/// 移除 若干个view controller
/// @param controllers 需要移除的 UIViewController 列表
/// @param animated 动画参数
- (void)bc_removeViewControllers:(NSArray<UIViewController *> *)controllers withAnimated:(BOOL)animated;
/// 移除viewcontrollers
/// @param clsNames 需要移除的类名
/// @param animated animated description
- (void)bc_removeViewControllers:(NSArray<NSString *> *)clsNames animated:(BOOL)animated;
/// 根据 VC的class名称，移除viewcontrollers
/// @param classes 需要移除的类名 class 列表
/// @param animated animated description
-(void)bc_removeViewControllersWithClasses:(NSArray<Class > *)classes withAnimated:(BOOL)animated;

//MARK: - push

/// push vc
/// @param scheme scheme description
/// @param animated animated description
- (void)bc_pushPage:(NSString *)scheme animated:(BOOL)animated;
/// pop to vC
/// @param clsNames 可返回的vc列表
/// @param animated animated description
- (void)bc_popViewControllWithNames:(NSArray *)clsNames animated:(BOOL)animated;

//MARK: - 恢复导航栏

/// 恢复导航栏UI（titleText、Shadow等等）
- (void)bc_restore;
///  恢复 titleText
- (void)bc_restoreTitle;

//MARK: - back
// 返回上一级
- (void)bc_backItemAction;

@end


NS_ASSUME_NONNULL_END
